/*
 *
 *    Copyright (c) 2022 Project CHIP Authors
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

// THIS FILE IS GENERATED BY ZAP

static CHIP_ERROR Setup(const char * label, chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::AccessControl::Structs::AccessControlEntry::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::BridgedActions::Structs::ActionStruct::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::BridgedActions::Structs::ActionStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ContentLauncher::Structs::AdditionalInfo::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ContentLauncher::Structs::AdditionalInfo::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ApplicationLauncher::Structs::Application::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ApplicationLauncher::Structs::Application::Type & request);
static CHIP_ERROR Setup(const char * label,
                        chip::app::Clusters::ApplicationBasic::Structs::ApplicationBasicApplication::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ApplicationBasic::Structs::ApplicationBasicApplication::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ApplicationLauncher::Structs::ApplicationEP::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ApplicationLauncher::Structs::ApplicationEP::Type & request);
static CHIP_ERROR Setup(const char * label,
                        chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfo::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::GeneralCommissioning::Structs::BasicCommissioningInfo::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::PowerSource::Structs::BatChargeFaultChangeType::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::PowerSource::Structs::BatChargeFaultChangeType::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::PowerSource::Structs::BatFaultChangeType::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::PowerSource::Structs::BatFaultChangeType::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Binding::Structs::BindingEntry::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::Binding::Structs::BindingEntry::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ContentLauncher::Structs::BrandingInformation::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ContentLauncher::Structs::BrandingInformation::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Channel::Structs::ChannelInfo::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::Channel::Structs::ChannelInfo::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ContentLauncher::Structs::ContentSearch::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ContentLauncher::Structs::ContentSearch::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Descriptor::Structs::DeviceType::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::Descriptor::Structs::DeviceType::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ContentLauncher::Structs::Dimension::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ContentLauncher::Structs::Dimension::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::DoorLock::Structs::DlCredential::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::DoorLock::Structs::DlCredential::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TestCluster::Structs::DoubleNestedStructList::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::TestCluster::Structs::DoubleNestedStructList::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::BridgedActions::Structs::EndpointListStruct::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::BridgedActions::Structs::EndpointListStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::AccessControl::Structs::ExtensionEntry::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptor::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::OperationalCredentials::Structs::FabricDescriptor::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::GroupKeyManagement::Structs::GroupInfoMapStruct::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::GroupKeyManagement::Structs::GroupInfoMapStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::GroupKeyManagement::Structs::GroupKeyMapStruct::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::GroupKeyManagement::Structs::GroupKeyMapStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::GroupKeyManagement::Structs::GroupKeySetStruct::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::GroupKeyManagement::Structs::GroupKeySetStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::IasAce::Structs::IasAceZoneStatusResult::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::IasAce::Structs::IasAceZoneStatusResult::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::MediaInput::Structs::InputInfo::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::MediaInput::Structs::InputInfo::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::detail::Structs::LabelStruct::Type & request, Json::Value & value);

static void Finalize(chip::app::Clusters::detail::Structs::LabelStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Channel::Structs::LineupInfo::Type & request, Json::Value & value);

static void Finalize(chip::app::Clusters::Channel::Structs::LineupInfo::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ModeSelect::Structs::ModeOptionStruct::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ModeSelect::Structs::ModeOptionStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::OperationalCredentials::Structs::NOCStruct::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::OperationalCredentials::Structs::NOCStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ThreadNetworkDiagnostics::Structs::NeighborTable::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ThreadNetworkDiagnostics::Structs::NeighborTable::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TestCluster::Structs::NestedStruct::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::TestCluster::Structs::NestedStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TestCluster::Structs::NestedStructList::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::TestCluster::Structs::NestedStructList::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::NetworkCommissioning::Structs::NetworkInfo::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::NetworkCommissioning::Structs::NetworkInfo::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterfaceType::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::GeneralDiagnostics::Structs::NetworkInterfaceType::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TestCluster::Structs::NullablesAndOptionalsStruct::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::TestCluster::Structs::NullablesAndOptionalsStruct::Type & request);
static CHIP_ERROR Setup(const char * label,
                        chip::app::Clusters::ThreadNetworkDiagnostics::Structs::OperationalDatasetComponents::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ThreadNetworkDiagnostics::Structs::OperationalDatasetComponents::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::AudioOutput::Structs::OutputInfo::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::AudioOutput::Structs::OutputInfo::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ContentLauncher::Structs::Parameter::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ContentLauncher::Structs::Parameter::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::MediaPlayback::Structs::PlaybackPosition::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::MediaPlayback::Structs::PlaybackPosition::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::PowerProfile::Structs::PowerProfileRecord::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::PowerProfile::Structs::PowerProfileRecord::Type & request);
static CHIP_ERROR Setup(const char * label,
                        chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::OtaSoftwareUpdateRequestor::Structs::ProviderLocation::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ThreadNetworkDiagnostics::Structs::RouteTable::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ThreadNetworkDiagnostics::Structs::RouteTable::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Scenes::Structs::SceneExtensionFieldSet::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::Scenes::Structs::SceneExtensionFieldSet::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::PowerProfile::Structs::ScheduledPhase::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::PowerProfile::Structs::ScheduledPhase::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ThreadNetworkDiagnostics::Structs::SecurityPolicy::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ThreadNetworkDiagnostics::Structs::SecurityPolicy::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ModeSelect::Structs::SemanticTag::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ModeSelect::Structs::SemanticTag::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::TestCluster::Structs::SimpleStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::SoftwareDiagnostics::Structs::SoftwareFaultStruct::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::SoftwareDiagnostics::Structs::SoftwareFaultStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::ContentLauncher::Structs::StyleInformation::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::ContentLauncher::Structs::StyleInformation::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::AccessControl::Structs::Target::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::AccessControl::Structs::Target::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TargetNavigator::Structs::TargetInfo::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::TargetNavigator::Structs::TargetInfo::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TestCluster::Structs::TestFabricScoped::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::TestCluster::Structs::TestFabricScoped::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TestCluster::Structs::TestListStructOctet::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::TestCluster::Structs::TestListStructOctet::Type & request);
static CHIP_ERROR Setup(const char * label,
                        chip::app::Clusters::NetworkCommissioning::Structs::ThreadInterfaceScanResult::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::NetworkCommissioning::Structs::ThreadInterfaceScanResult::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetrics::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetrics::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::PowerProfile::Structs::TransferredPhase::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::PowerProfile::Structs::TransferredPhase::Type & request);
static CHIP_ERROR Setup(const char * label,
                        chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResult::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResult::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::PowerSource::Structs::WiredFaultChangeType::Type & request,
                        Json::Value & value);

static void Finalize(chip::app::Clusters::PowerSource::Structs::WiredFaultChangeType::Type & request);
